

using System;
using System.Runtime.InteropServices;

namespace CUtil.Win32
{
	/// <summary> 
	/// 
	/// </summary>
	public class COM
	{

		/// <summary> 
		/// Do not create instances of this class!
		/// </summary>
		private COM()
		{
		}
#region enums
#endregion enums
				
#region constants
#endregion constants

#region callbacks
#endregion callbacks

#region structs
#endregion structs

#region interfaces
			/// <summary>
			/// Memory management interface.
			/// </summary>
			[ComImport]
				[Guid("00000002-0000-0000-C000-000000000046")]
				[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
				public interface IMalloc
			{
				/// <summary></summary>
				[PreserveSig] IntPtr/*void * */ Alloc(ulong/*ULONG*/ cb);
				/// <summary></summary>
				[PreserveSig] IntPtr/*void * */ Realloc(IntPtr/*void * */ pv, ulong/*ULONG*/ cb);
				/// <summary></summary>
				[PreserveSig] void/*void*/ Free(IntPtr/*void * */ pv);
				/// <summary></summary>
				[PreserveSig] ulong/*ULONG*/ GetSize(IntPtr/*void * */ pv);
				/// <summary></summary>
				[PreserveSig] int/*int*/ DidAlloc(IntPtr/*void * */ pv);
				/// <summary></summary>
				[PreserveSig] void/*void*/ HeapMinimize();
			}
#endregion interfaces

#region functions
#endregion functions
	}
}

